/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package GUI;
import java.awt.BorderLayout;

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JDialog;
import javax.swing.JFrame;

import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;



/**
 *
 * @author Jaime
 */
public class Inicial extends JFrame {

    /**
	 * Layout de las planetas
	 */
	BorderLayout layout;

	ButtonGroup botones;

    JLabel info1;

	JButton aceptar,configuracion;


	JPanel panelConf,panelBotones,panelTrama;


	ButtonGroup opciones;

    JCheckBox botonTrama;


	JDialog planetas;

    private int posX;
    private int posY;


	boolean trama;


    public Inicial(){


	}

   public boolean lanzaVentana(){
		posX=6;
        posY=9;
		layout = new BorderLayout();
		planetas = new JDialog(this,"Selección de la configuración",true);
       	planetas.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);
		planetas.setLayout(layout);

		anade();
		creaBotones();
		anadeBotones();
        asignaAccion();
        planetas.setLocation(Constantes.getAnchoPantalla()-700,100);
		planetas.setSize(320,200);
		planetas.setVisible(true);
		return trama;
	}




  	private void anade(){
        botonTrama=new JCheckBox("Ejecucion paso a paso",true);
        info1=new JLabel("   Pulsa el boton para cambiar la posición del planeta");
		opciones = new ButtonGroup();
        configuracion=new JButton("Coordenadas");
		opciones.add(configuracion);
		panelConf = new JPanel();
		panelTrama = new JPanel();
        panelConf.add(info1);
        //panelConf.add(info2);
		panelConf.add(configuracion);

		panelTrama.add(botonTrama);
        //panelConf.setLayout(new GridLayout(4,4));
		planetas.add(panelConf,BorderLayout.CENTER);
		planetas.add(panelTrama,BorderLayout.NORTH);

	}
    private void creaBotones(){
        botones = new ButtonGroup();
		aceptar = new JButton("Aceptar");

	}
    private void anadeBotones(){
        botones.add(aceptar);
		panelBotones = new JPanel();
		panelBotones.add(aceptar);
		planetas.add(panelBotones,BorderLayout.SOUTH);
	}

   	private void asignaAccion(){
		aceptar.addActionListener(new OyenteAceptar());
		configuracion.addActionListener(new OyenteConfiguracion());
	}

    /**
     * @return the posX
     */
    public int getPosX() {
        return posX;
    }

    /**
     * @return the posY
     */
    public int getPosY() {
        return posY;
    }



  	class OyenteAceptar implements ActionListener{

		public void actionPerformed(ActionEvent evento) {

            trama=botonTrama.isSelected();
            planetas.setVisible(false);

		}

	}

     class OyenteConfiguracion implements ActionListener{

		public void actionPerformed(ActionEvent evento) {

    	     posX=pideX();
			 posY=pideY();

		}

	}


	private void error(String mensaje){
		JOptionPane.showMessageDialog(planetas,mensaje,"Error",
				JOptionPane.ERROR_MESSAGE);
	}

		public int pideX(){
		int aux = -1;
		while (aux < 0 || aux> 12){
			try{
				aux= Integer.parseInt(JOptionPane.showInputDialog(planetas,"Posición X entre 0 y 12 (6 es la central)"));
			}catch(NumberFormatException nfe){
				aux = -1;
			}
			if (aux < 0 || aux> 12){
				error("Introduzca una posición válida");
			}
		}
		return aux;
	}


	public int pideY(){
		int aux = -1;
		while (aux < 0 || aux> 18){
			try{
				aux= Integer.parseInt(JOptionPane.showInputDialog(planetas,"Posición Y entre 0 y 18 (9 es el central)"));
			}catch(NumberFormatException nfe){
				aux = -1;
			}
			if (aux < 0 || aux> 18){
				error("Introduzca una posición válida");
			}
		}
		return aux;
	}




}